package com.younion.business;

import java.util.Collection;
import java.util.List;
import java.util.Map;

import com.younion.common.exception.BaseException;
import com.younion.common.paginator.Paginator;

import com.younion.vo.*;

/**
* Bll类的接口
*/
public interface IFavourableSmsCheckService {

    /**
    * 查找所有数据库记录
    * @return type : Collection 返回查询操作所有符合条件的记录的VO对象集合，操作失败返回null
    */
    public Collection getAll() throws Exception;

    /**
    * 根据主键查找符合条件的数据库记录
    * @param id 与数据库中主键对应的值
    * @return type : FavourableSmsCheckVO 返回查询操作所有符合条件的记录的VO对象，操作失败返回null
    */
    public FavourableSmsCheckVO getById(String id) throws Exception;

    /**
    * 查找符合条件的所有数据库记录
    * @param voObject 与数据库中记录对应的值对象
    * @return type : Collection 返回查询操作所有符合条件的记录的VO对象集合，操作失败返回null
    */
    public Collection getByMap(Map paramMap) throws BaseException;
	/**
	 * 获取记录数
	 * 
	 * @param paramMap
	 * @return
	 * @throws BaseException
	 */
	 public int getCountByMap(Map paramMap) throws BaseException;

	/**
	 * 分页查找
	 * 
	 * @param paramMap
	 * @param curPage
	 * @param pageSize
	 * @return
	 * @throws Exception
	 */
    public List get(Map paramMap, Paginator paginator) throws Exception;

    /**
    * 向数据库中插入一条记录
    * @param voObject 与数据库中记录对应的值对象
    * @return type : FavourableSmsCheckVO 返回插入操作是否成功，操作失败返回null
    */
    public FavourableSmsCheckVO save(FavourableSmsCheckVO voObject) throws Exception;
    /**
    * 向数据库中插入一组记录
    * @param voList 与数据库中记录对应的值对象集合
    * @return type : Collection 返回记录插入后返回的对象，对象带主键，操作失败返回null
    */
    public Collection save(Collection voList) throws Exception;

    /**
    * 删除符合条件的所有数据库记录
    * @param ids 数据库主键集合
    * @return type : boolean 返回删除操做是否成功，操作失败返回false
    */
    public boolean remove(List ids) throws Exception;

    /**
    * 删除符合条件的所有数据库记录
    * @param paramMap 条件集合
    * @return type : boolean 返回删除操做是否成功，操作失败返回false
    */
    public boolean removeByMap(Map paramMap) throws Exception;
}